
const debug = require('debug')
const log = debug('logger:*')

/**
 * 调试日志
 * @param level 日志等级 log|info|warn|error
 */
function Logger (namespace, level = 'log') {
  let logger = debug(namespace)
  if (console[level]) {
    logger.log = console[level].bind(console)
  }
  return function () {
    let args = Array.prototype.slice.apply(arguments)
    // 避免某些手机不支持某些日志等级或日志参数
    try {
      if (debug.enabled(namespace)) {
        logger.apply(null, args)
      }
    } catch (e) {
      log(`不支持输出该日志类型：${e}`)
    }
  }
}

module.exports = Logger
